﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using Core;
using Transport.Properties;
using Core.Packets;
using System.IO;
using Core.PrimitivesCommunication;
using System.IO.Pipes;

namespace Transport
{
    static class Program
    {
        static Main consoleMain;
        /// <summary>
        /// Point d'entrée principal de l'application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            consoleMain = new Main();
            consoleMain.Show();

            List<PDUSession> listeLigne = PDUSession.ReadFichier(Resources.S_LECTURE);


            foreach (PDUSession ligne in listeLigne)
            {
                Connexion connexion = Connexion.GetConnexion(ligne.ApplicationId, ligne.AddresseDestination);
                if(connexion.Etat == EtatsConnexion.EnAttente)
                {
                    Primitive connexionReq = Primitive.CreateNConnectReq(connexion.IdConnexionLogique, connexion.AdresseDestination);
                    using (NamedPipeServerStream sw = new NamedPipeServerStream(REGLES.GetPipeTransportToReseau("0"), PipeDirection.Out))
                    {
                        connexionReq.WriteJson(sw);
                    }
                }
            }
            using (NamedPipeServerStream sr = new NamedPipeServerStream(REGLES.GetPipeTransportToReseau("0"), PipeDirection.In))
            {
                Primitive pr = Primitive.ReadJson(sr);
            }

            //Packet[] paquet = Packet.CreateDataPackets(54, 2, 3, "Salut ici michael Roussel c'est un supel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici michel c'est un super test Salut ici micher test Salut ici michael Roussel c'est un super test Salut ici michael Roussel c'est un super test Salut ici michael Roussel c'est un super test Salut ici michael Roussel c'est un super test Salut ici michael Roussel c'est un super test");

            //paquet.GetStringOfBitArray();
            //REGLES.GetPipeTransportToReseau(ebhgjkbaegawe_
        }

        static void RequestConnection(PDUSession ligne)
        {

        }
    }
}
